// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g 2012-10-24 19:32:39

    package practica6;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AnalexANTLR extends Lexer {
    public static final int EOF=-1;
    public static final int ASTERISCO=4;
    public static final int BLANCO=5;
    public static final int COMILLA=6;
    public static final int CONTENIDO=7;
    public static final int DIGITO=8;
    public static final int DOS_PUNTOS=9;
    public static final int GRAMMAR=10;
    public static final int HEADER=11;
    public static final int IDENT=12;
    public static final int IGUAL=13;
    public static final int INTERROG=14;
    public static final int LETRA_MAYUS=15;
    public static final int LETRA_MINUS=16;
    public static final int LEXER=17;
    public static final int LLAVE_A=18;
    public static final int LLAVE_C=19;
    public static final int MEMBERS=20;
    public static final int NUMERO=21;
    public static final int OPTIONS=22;
    public static final int OR=23;
    public static final int PACKAGE=24;
    public static final int PARENTESIS_A=25;
    public static final int PARENTESIS_C=26;
    public static final int PARSER=27;
    public static final int PUNTO_COMA=28;
    public static final int REGLA=29;
    public static final int TOKEN=30;

         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public AnalexANTLR() {} 
    public AnalexANTLR(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public AnalexANTLR(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g"; }

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:26:7: ( ( ' ' | '\\t' | '\\r\\n' ) )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:26:9: ( ' ' | '\\t' | '\\r\\n' )
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:26:9: ( ' ' | '\\t' | '\\r\\n' )
            int alt1=3;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt1=1;
                }
                break;
            case '\t':
                {
                alt1=2;
                }
                break;
            case '\r':
                {
                alt1=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:26:10: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:26:14: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:26:19: '\\r\\n'
                    {
                    match("\r\n"); 



                    }
                    break;

            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:27:16: ( '0' .. '9' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "LETRA_MINUS"
    public final void mLETRA_MINUS() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:28:21: ( ( 'a' .. 'z' ) | '_' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            {
            if ( input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA_MINUS"

    // $ANTLR start "LETRA_MAYUS"
    public final void mLETRA_MAYUS() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:29:21: ( ( 'A' .. 'Z' ) | '_' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA_MAYUS"

    // $ANTLR start "GRAMMAR"
    public final void mGRAMMAR() throws RecognitionException {
        try {
            int _type = GRAMMAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:30:8: ( 'grammar' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:30:10: 'grammar'
            {
            match("grammar"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "GRAMMAR"

    // $ANTLR start "LEXER"
    public final void mLEXER() throws RecognitionException {
        try {
            int _type = LEXER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:31:6: ( 'lexer' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:31:8: 'lexer'
            {
            match("lexer"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LEXER"

    // $ANTLR start "PARSER"
    public final void mPARSER() throws RecognitionException {
        try {
            int _type = PARSER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:32:7: ( 'parser' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:32:9: 'parser'
            {
            match("parser"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARSER"

    // $ANTLR start "OPTIONS"
    public final void mOPTIONS() throws RecognitionException {
        try {
            int _type = OPTIONS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:33:8: ( 'options' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:33:10: 'options'
            {
            match("options"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OPTIONS"

    // $ANTLR start "HEADER"
    public final void mHEADER() throws RecognitionException {
        try {
            int _type = HEADER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:34:7: ( '@header' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:34:9: '@header'
            {
            match("@header"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "HEADER"

    // $ANTLR start "PACKAGE"
    public final void mPACKAGE() throws RecognitionException {
        try {
            int _type = PACKAGE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:35:8: ( 'package' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:35:10: 'package'
            {
            match("package"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PACKAGE"

    // $ANTLR start "MEMBERS"
    public final void mMEMBERS() throws RecognitionException {
        try {
            int _type = MEMBERS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:36:8: ( '@members' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:36:10: '@members'
            {
            match("@members"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MEMBERS"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:37:7: ( ( DIGITO )+ ( '.' ( DIGITO )+ )? )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:37:9: ( DIGITO )+ ( '.' ( DIGITO )+ )?
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:37:9: ( DIGITO )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:37:18: ( '.' ( DIGITO )+ )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0=='.') ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:37:19: '.' ( DIGITO )+
                    {
                    match('.'); 

                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:37:22: ( DIGITO )+
                    int cnt3=0;
                    loop3:
                    do {
                        int alt3=2;
                        int LA3_0 = input.LA(1);

                        if ( ((LA3_0 >= '0' && LA3_0 <= '9')) ) {
                            alt3=1;
                        }


                        switch (alt3) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt3 >= 1 ) break loop3;
                                EarlyExitException eee =
                                    new EarlyExitException(3, input);
                                throw eee;
                        }
                        cnt3++;
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "DOS_PUNTOS"
    public final void mDOS_PUNTOS() throws RecognitionException {
        try {
            int _type = DOS_PUNTOS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:38:11: ( ':' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:38:13: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DOS_PUNTOS"

    // $ANTLR start "TOKEN"
    public final void mTOKEN() throws RecognitionException {
        try {
            int _type = TOKEN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:39:6: ( ( LETRA_MAYUS )* )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:39:8: ( LETRA_MAYUS )*
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:39:8: ( LETRA_MAYUS )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0 >= 'A' && LA5_0 <= 'Z')||LA5_0=='_') ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            	    {
            	    if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TOKEN"

    // $ANTLR start "REGLA"
    public final void mREGLA() throws RecognitionException {
        try {
            int _type = REGLA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:40:6: ( ( LETRA_MINUS )* )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:40:8: ( LETRA_MINUS )*
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:40:8: ( LETRA_MINUS )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0=='_'||(LA6_0 >= 'a' && LA6_0 <= 'z')) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            	    {
            	    if ( input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "REGLA"

    // $ANTLR start "PUNTO_COMA"
    public final void mPUNTO_COMA() throws RecognitionException {
        try {
            int _type = PUNTO_COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:41:11: ( ';' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:41:13: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PUNTO_COMA"

    // $ANTLR start "PARENTESIS_A"
    public final void mPARENTESIS_A() throws RecognitionException {
        try {
            int _type = PARENTESIS_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:42:13: ( '(' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:42:15: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_A"

    // $ANTLR start "PARENTESIS_C"
    public final void mPARENTESIS_C() throws RecognitionException {
        try {
            int _type = PARENTESIS_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:43:13: ( ')' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:43:15: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_C"

    // $ANTLR start "LLAVE_A"
    public final void mLLAVE_A() throws RecognitionException {
        try {
            int _type = LLAVE_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:44:8: ( '{' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:44:10: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_A"

    // $ANTLR start "LLAVE_C"
    public final void mLLAVE_C() throws RecognitionException {
        try {
            int _type = LLAVE_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:45:8: ( '}' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:45:10: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_C"

    // $ANTLR start "IGUAL"
    public final void mIGUAL() throws RecognitionException {
        try {
            int _type = IGUAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:46:6: ( '=' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:46:8: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IGUAL"

    // $ANTLR start "ASTERISCO"
    public final void mASTERISCO() throws RecognitionException {
        try {
            int _type = ASTERISCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:47:10: ( '*' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:47:12: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ASTERISCO"

    // $ANTLR start "INTERROG"
    public final void mINTERROG() throws RecognitionException {
        try {
            int _type = INTERROG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:48:9: ( '?' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:48:11: '?'
            {
            match('?'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INTERROG"

    // $ANTLR start "OR"
    public final void mOR() throws RecognitionException {
        try {
            int _type = OR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:49:3: ( '|' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:49:5: '|'
            {
            match('|'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OR"

    // $ANTLR start "COMILLA"
    public final void mCOMILLA() throws RecognitionException {
        try {
            int _type = COMILLA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:50:8: ( '\\'' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:50:10: '\\''
            {
            match('\''); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMILLA"

    // $ANTLR start "IDENT"
    public final void mIDENT() throws RecognitionException {
        try {
            int _type = IDENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:51:6: ( ( LETRA_MAYUS | LETRA_MINUS ) ( LETRA_MAYUS | LETRA_MINUS | DIGITO )* )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:51:8: ( LETRA_MAYUS | LETRA_MINUS ) ( LETRA_MAYUS | LETRA_MINUS | DIGITO )*
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:51:33: ( LETRA_MAYUS | LETRA_MINUS | DIGITO )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( ((LA7_0 >= '0' && LA7_0 <= '9')||(LA7_0 >= 'A' && LA7_0 <= 'Z')||LA7_0=='_'||(LA7_0 >= 'a' && LA7_0 <= 'z')) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "CONTENIDO"
    public final void mCONTENIDO() throws RecognitionException {
        try {
            int _type = CONTENIDO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:52:10: ( COMILLA ( ( LETRA_MAYUS | LETRA_MINUS ) ( LETRA_MAYUS | LETRA_MINUS | DIGITO )* ) COMILLA )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:52:12: COMILLA ( ( LETRA_MAYUS | LETRA_MINUS ) ( LETRA_MAYUS | LETRA_MINUS | DIGITO )* ) COMILLA
            {
            mCOMILLA(); 


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:52:20: ( ( LETRA_MAYUS | LETRA_MINUS ) ( LETRA_MAYUS | LETRA_MINUS | DIGITO )* )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:52:21: ( LETRA_MAYUS | LETRA_MINUS ) ( LETRA_MAYUS | LETRA_MINUS | DIGITO )*
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:52:47: ( LETRA_MAYUS | LETRA_MINUS | DIGITO )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( ((LA8_0 >= '0' && LA8_0 <= '9')||(LA8_0 >= 'A' && LA8_0 <= 'Z')||LA8_0=='_'||(LA8_0 >= 'a' && LA8_0 <= 'z')) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);


            }


            mCOMILLA(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CONTENIDO"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:8: ( BLANCO | GRAMMAR | LEXER | PARSER | OPTIONS | HEADER | PACKAGE | MEMBERS | NUMERO | DOS_PUNTOS | TOKEN | REGLA | PUNTO_COMA | PARENTESIS_A | PARENTESIS_C | LLAVE_A | LLAVE_C | IGUAL | ASTERISCO | INTERROG | OR | COMILLA | IDENT | CONTENIDO )
        int alt9=24;
        alt9 = dfa9.predict(input);
        switch (alt9) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:10: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 2 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:17: GRAMMAR
                {
                mGRAMMAR(); 


                }
                break;
            case 3 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:25: LEXER
                {
                mLEXER(); 


                }
                break;
            case 4 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:31: PARSER
                {
                mPARSER(); 


                }
                break;
            case 5 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:38: OPTIONS
                {
                mOPTIONS(); 


                }
                break;
            case 6 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:46: HEADER
                {
                mHEADER(); 


                }
                break;
            case 7 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:53: PACKAGE
                {
                mPACKAGE(); 


                }
                break;
            case 8 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:61: MEMBERS
                {
                mMEMBERS(); 


                }
                break;
            case 9 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:69: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 10 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:76: DOS_PUNTOS
                {
                mDOS_PUNTOS(); 


                }
                break;
            case 11 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:87: TOKEN
                {
                mTOKEN(); 


                }
                break;
            case 12 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:93: REGLA
                {
                mREGLA(); 


                }
                break;
            case 13 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:99: PUNTO_COMA
                {
                mPUNTO_COMA(); 


                }
                break;
            case 14 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:110: PARENTESIS_A
                {
                mPARENTESIS_A(); 


                }
                break;
            case 15 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:123: PARENTESIS_C
                {
                mPARENTESIS_C(); 


                }
                break;
            case 16 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:136: LLAVE_A
                {
                mLLAVE_A(); 


                }
                break;
            case 17 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:144: LLAVE_C
                {
                mLLAVE_C(); 


                }
                break;
            case 18 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:152: IGUAL
                {
                mIGUAL(); 


                }
                break;
            case 19 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:158: ASTERISCO
                {
                mASTERISCO(); 


                }
                break;
            case 20 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:168: INTERROG
                {
                mINTERROG(); 


                }
                break;
            case 21 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:177: OR
                {
                mOR(); 


                }
                break;
            case 22 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:180: COMILLA
                {
                mCOMILLA(); 


                }
                break;
            case 23 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:188: IDENT
                {
                mIDENT(); 


                }
                break;
            case 24 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexANTLR.g:1:194: CONTENIDO
                {
                mCONTENIDO(); 


                }
                break;

        }

    }


    protected DFA9 dfa9 = new DFA9(this);
    static final String DFA9_eotS =
        "\1\12\1\uffff\4\30\3\uffff\1\12\1\uffff\1\12\1\30\11\uffff\1\42"+
        "\1\30\1\uffff\1\30\1\uffff\3\30\2\uffff\2\12\2\uffff\13\30\1\64"+
        "\4\30\1\uffff\1\71\2\30\1\74\1\uffff\1\75\1\76\3\uffff";
    static final String DFA9_eofS =
        "\77\uffff";
    static final String DFA9_minS =
        "\1\11\1\uffff\4\60\1\150\2\uffff\1\60\1\uffff\2\60\11\uffff\1\101"+
        "\1\60\1\uffff\1\60\1\uffff\3\60\2\uffff\2\60\2\uffff\20\60\1\uffff"+
        "\4\60\1\uffff\2\60\3\uffff";
    static final String DFA9_maxS =
        "\1\175\1\uffff\4\172\1\155\2\uffff\1\172\1\uffff\2\172\11\uffff"+
        "\2\172\1\uffff\1\172\1\uffff\3\172\2\uffff\2\172\2\uffff\20\172"+
        "\1\uffff\4\172\1\uffff\2\172\3\uffff";
    static final String DFA9_acceptS =
        "\1\uffff\1\1\5\uffff\1\11\1\12\1\uffff\1\13\2\uffff\1\15\1\16\1"+
        "\17\1\20\1\21\1\22\1\23\1\24\1\25\2\uffff\1\14\1\uffff\1\27\3\uffff"+
        "\1\6\1\10\2\uffff\1\26\1\30\20\uffff\1\3\4\uffff\1\4\2\uffff\1\2"+
        "\1\7\1\5";
    static final String DFA9_specialS =
        "\77\uffff}>";
    static final String[] DFA9_transitionS = {
            "\1\1\3\uffff\1\1\22\uffff\1\1\6\uffff\1\26\1\16\1\17\1\23\5"+
            "\uffff\12\7\1\10\1\15\1\uffff\1\22\1\uffff\1\24\1\6\32\13\4"+
            "\uffff\1\11\1\uffff\6\14\1\2\4\14\1\3\2\14\1\5\1\4\12\14\1\20"+
            "\1\25\1\21",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\21\31\1\27\10\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\4\31\1\33\25\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\1\34\31\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\17\31\1\35\12\31",
            "\1\36\4\uffff\1\37",
            "",
            "",
            "\12\32\7\uffff\32\41\4\uffff\1\40\1\uffff\32\31",
            "",
            "\12\32\7\uffff\32\41\4\uffff\1\41\1\uffff\32\32",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\32\31",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\32\43\4\uffff\1\43\1\uffff\32\43",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\1\44\31\31",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\32\31",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\27\31\1\45\2\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\2\31\1\47\16\31\1"+
            "\46\10\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\23\31\1\50\6\31",
            "",
            "",
            "\12\32\7\uffff\32\41\4\uffff\1\40\1\uffff\32\31",
            "\12\32\7\uffff\32\41\4\uffff\1\41\1\uffff\32\32",
            "",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\14\31\1\51\15\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\4\31\1\52\25\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\22\31\1\53\7\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\12\31\1\54\17\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\10\31\1\55\21\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\14\31\1\56\15\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\21\31\1\57\10\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\4\31\1\60\25\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\1\61\31\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\16\31\1\62\13\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\1\63\31\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\32\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\21\31\1\65\10\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\6\31\1\66\23\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\15\31\1\67\14\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\21\31\1\70\10\31",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\32\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\4\31\1\72\25\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\22\31\1\73\7\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\32\31",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\32\31",
            "\12\32\7\uffff\32\32\4\uffff\1\31\1\uffff\32\31",
            "",
            "",
            ""
    };

    static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS);
    static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS);
    static final char[] DFA9_min = DFA.unpackEncodedStringToUnsignedChars(DFA9_minS);
    static final char[] DFA9_max = DFA.unpackEncodedStringToUnsignedChars(DFA9_maxS);
    static final short[] DFA9_accept = DFA.unpackEncodedString(DFA9_acceptS);
    static final short[] DFA9_special = DFA.unpackEncodedString(DFA9_specialS);
    static final short[][] DFA9_transition;

    static {
        int numStates = DFA9_transitionS.length;
        DFA9_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA9_transition[i] = DFA.unpackEncodedString(DFA9_transitionS[i]);
        }
    }

    class DFA9 extends DFA {

        public DFA9(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 9;
            this.eot = DFA9_eot;
            this.eof = DFA9_eof;
            this.min = DFA9_min;
            this.max = DFA9_max;
            this.accept = DFA9_accept;
            this.special = DFA9_special;
            this.transition = DFA9_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( BLANCO | GRAMMAR | LEXER | PARSER | OPTIONS | HEADER | PACKAGE | MEMBERS | NUMERO | DOS_PUNTOS | TOKEN | REGLA | PUNTO_COMA | PARENTESIS_A | PARENTESIS_C | LLAVE_A | LLAVE_C | IGUAL | ASTERISCO | INTERROG | OR | COMILLA | IDENT | CONTENIDO );";
        }
    }
 

}